#pragma once

#include "Point.h"

namespace Core
{
	/*class Point
	{
	public:
		Point(int x,int y)
		{
			X = x;
			Y = y;
		}

	public:
		int X, Y;
	};*/



	class Rectangle
	{
	public:
		Rectangle() :Rectangle(0,0,-1,-1)
		{
		}

		Rectangle(int x, int y, int width, int height)
		{
			X = x;
			Y = y;
			Width = width;
			Height = height;
		}

		Rectangle(Pointi& location, Sizei& size)
		{
			X = location.X();
			Y = location.Y();
			Width = size.X();
			Height = size.Y();

			Left = location.X();
			Right = location.X() + size.X();
			Top = location.Y();
			Bottom = location.Y() + size.Y();
		}

		bool operator!=(const Rectangle& other)
		{
			if ((X == other.X) && (Y == other.Y) && (Width == other.Width) && (Height == other.Height))
			{
				return false;
			}
			return true;
		}

		bool operator==(const Rectangle& other)
		{
			if ((X == other.X) && (Y == other.Y) && (Width == other.Width) && (Height == other.Height))
			{
				return true;
			}
			return false;
		}

		int X, Y, Width, Height, Left, Right, Bottom, Top;
	};
}